package ArbolBinarioOrdenado;

import Iterador.IteradorSimple;

public interface INodoArbolBinarioOrdenado <T> {
	
	public boolean agregar(T obj) throws YaExisteException;
	
	public NodoArbolBinarioOrdenado eliminar(T obj) throws NoExisteException;
	
	public T buscar(T obj);
	
	public boolean esHoja();
	
	public void cambiarDerecho(NodoArbolBinarioOrdenado nodo);
	
	public void recorrerInOrden(IteradorSimple<T> respuesta);
	
	public void recorrerPreOrden(IteradorSimple<T> respuesta);
	
	public void recorrerPorNiveles(IteradorSimple<T> respuesta);

}
